"use strict";
const Service = require("egg").Service;
class UsersList extends Service {
  // 注册
  async registered(params) {
    const { app,ctx } = this;
    const corrct=await ctx.model.Users.findOne({"phone":params.phone})
    if(!corrct){
        const data =await ctx.model.Users.insertMany([params])
        ctx.body={
          message:'注册成功',
          code:200,
          data
        }
    }else{
        ctx.body='该用户已注册'
    }
  }
  // 登录
  async login(params) {
    const { app,ctx } = this;
    const corrct=await ctx.model.Users.findOne({"phone":params.phone,"password":params.password})
    if(!corrct){
      ctx.body={
        message:'用户名或错误错误',
      }
    }else{
     if(params.password==corrct.password||params.phone==corrct.phone){
      ctx.body={
        message:'登录成功',
        code:200,
        data:corrct
      }
     }else{
      ctx.body={
        message:'用户名或错误错误'
      }
     }

    }
  }
  // 修改密码
  async changePassword(params) {
    const { app,ctx } = this;
    const corrct=await ctx.model.Users.findOne({"_id":params.id})
    if(!corrct){
      ctx.body={
        message:'id 错误',
      }
    }else{
     if(params.password==corrct.password){
     const data=await ctx.model.Users.updateOne({"password":params.password},{$set:{"password":params.new_password}}) //$set 对指定文档中的某些键进行更新,如果这个字段不存在则创建它
     ctx.body={
      message:'修改成功',
      code:200,
    }
     }else{
      ctx.body={
        message:'旧密码错误'
      }
     }
    }
  }
  // 获取所有用户
  async getAllUser() {
    const { ctx } = this;
    const data=await ctx.model.Users.find()
    ctx.body={
      message:'获取成功',
      code:200,
      data:data
    }
  }
   // 获取用户
   async getUser(id) {
    const { ctx } = this;
    const data=await ctx.model.Users.findById({_id:id})
    ctx.body={
      message:'获取成功',
      code:200,
      data:data
    }
  }
   // 修改用户信息
   async update(_id,payload) {
    const { ctx } = this;
    const data=await ctx.model.Users.findByIdAndUpdate(_id,payload)
    ctx.body={
      message:'更新成功',
      code:200,
      data:data
    }
  }
}
module.exports =  UsersList ;
